package com.smartcommunity.dao.device;

import com.smartcommunity.bean.entity.Camera;
import com.smartcommunity.bean.entity.CommonDevice;
import com.smartcommunity.entity.device.FireDevice;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @ClassName: DeviceDao
 * @Description: 设备相关dao
 * @author: minsheng
 * @Date: 2019/5/28 10:22
 * @Company:
 * @version V1.0
 */
public interface DeviceDao {

	List<FireDevice> getFireDeviceAllHouse(Map<String, Object> map1);
    /**
     * 获取WiFi探针列表
     *
     * @param map
     * @return
     */
    List<Map<String,Object>> getWifiDeviceList(Map<String, String> map);

    /**
     * 获取WiFi探针的数量
     *
     * @param map
     * @return
     */
    int getWifiDeviceCount(Map<String, Object> map);

    /**
     * 根据消防类别获取其数量及种类
     *
     * @param recordMap
     * @return
     */
    List<FireDevice> getFireDevice(Map<String, Object> recordMap);

    /**
     * 获取微型消防站的数量
     *
     * @param recordMap
     * @return
     */
    int getFireFightingCount(Map<String, Object> recordMap);

    /**
     * 获取窨井盖设备的数量
     *
     * @param map
     * @return
     */
    int getManholeCoverCount(Map<String, Object> map);
    /**
     * 获取门禁设备的数量
     *
     * @param recordMap
     * @return
     */
    int getAccessDeviceCount(Map<String, Object> recordMap);

    /**
     * 按摄像机类型获得摄像机的数量属性及类型属性(用于实有安防设备柱状图使用)
     *
     * @param map
     * @return
     */
    List<Camera> getCamera(Map<String, Object> map);

    /**
     * 查询相机名称
     * @param taskid
     * @return
     */
    String getCameraNameByKey(@Param("taskid")String taskid);

    List<CommonDevice> queryCameraList(String villageCode);
    List<CommonDevice> queryWifiList(String villageCode);
    List<CommonDevice> queryManholeCoverList(String villageCode);
    List<CommonDevice> queryAcList(String villageCode);
    List<CommonDevice> querySenseList(String villageCode);
}
